www.gusucode.com > VC++ 音频的编码解码的封装接口-源码程序 > VC++ 音频的编码解码的封装接口-源码程序/code/AudioCoderEasyG7231.cpp

    //Download by http://www.NewXing.com

#include "AudioCoderEasyG7231.h"

#include "BaseTypeDefine.h"

#pragma comment(lib, "Easy_G7231")

CAudioCoderEasyG7231::CAudioCoderEasyG7231()
	:	m_hG7231_Encoder(0), 
		m_hG7231_Decoder(0)
{
	m_hG7231_Encoder = EasyG7231_init_encoder(false);
	m_hG7231_Decoder = EasyG7231_init_decoder(false);
}

CAudioCoderEasyG7231::~CAudioCoderEasyG7231()
{
	if (m_hG7231_Encoder != 0) {
		EasyG7231_release_encoder(m_hG7231_Encoder);
		m_hG7231_Encoder = 0;
	}

	if (m_hG7231_Decoder != 0) {
		EasyG7231_release_decoder(m_hG7231_Decoder);
		m_hG7231_Decoder = 0;
	}
}

bool CAudioCoderEasyG7231::Encode(char *pDataIn, char *pDataOut) const
{
	if (!m_hG7231_Encoder || !pDataIn || !pDataOut) {
		return false;
	}

	Pointer ptIn(pDataIn);
	Pointer ptOut(pDataOut);

	return EasyG7231_encoder(m_hG7231_Encoder, ptIn.pShort, ptOut.pUChar);
}

bool CAudioCoderEasyG7231::Decode(char *pDataIn, char *pDataOut) const
{
	if (!m_hG7231_Decoder || !pDataIn || !pDataOut) {
		return false;
	}

	Pointer ptIn(pDataIn);
	Pointer ptOut(pDataOut);

	return EasyG7231_decoder(m_hG7231_Decoder, ptIn.pUChar, ptOut.pShort);
}